package com.ruoyi.project.mtool.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

import java.util.Date;

/**
 * 需求记录对象 t_requirement
 *
 * @author ruoyi
 * @date 2020-04-08
 */
@Data
public class Requirement extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 需求id
     */
    private Long requirementId;

    /**
     * 任务名称
     */
    @Excel(name = "任务名称")
    private String requirementName;

    /**
     * 需求描述
     */
    @Excel(name = "需求描述")
    private String requirementDesc;

    /**
     * 需求类型
     */
    @Excel(name = "需求类型")
    private String requirementType;

    /**
     * 需求类别
     */
    @Excel(name = "需求类别")
    private String requirementKind;

    /**
     * 重要程度
     */
    @Excel(name = "重要程度")
    private String requirementLevel;

    /**
     * 涉及客户
     */
    @Excel(name = "涉及客户")
    private String customers;

    /**
     * 期望上线
     */
    @Excel(name = "期望上线", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date expectTime;

    /**
     * 需求来源
     */
    @Excel(name = "需求来源")
    private String requirementSource;

    /**
     * TS单号
     */
    @Excel(name = "TS单号")
    private String tsTid;

    /**
     * TS版本
     */
    @Excel(name = "TS版本")
    private String tsVersion;

    /**
     * 开发工作量预估（人日）
     */
    private Double devPlanWorkload;

    /**
     * 开发计划完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date devPlanTime;

    /**
     * 开发实际完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date devFinishTime;

    /**
     * 开发人
     */
    @Excel(name = "开发人")
    private String devStaff;

    /**
     * 测试人
     */
    @Excel(name = "测试人")
    private String testStaff;

    /**
     * UAT验证
     */
    private String uatCheck;

    /**
     * PRD验证
     */
    private String prdCheck;

    /**
     * 需求状态（0正常 1停用）
     */
    private String status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;
}
